package org.jeecg.modules.wechat.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.wechat.entity.WxUser;

/**
 * @Description: 微信用户表
 * @Author: jeecg-boot
 * @Date:   2020-11-11
 * @Version: V1.0
 */
public interface IWxUserService extends IService<WxUser> {
    /**
     * TODO:
     *
     *
     * @author ZhangHaoyu
     * @param userInfo 从接口中获取的userInfo
     * @param openId 用户的openId
     * @return org.jeecg.modules.wechat.entity.WxUser
     */
    WxUser saveUserByJsonObject(JSONObject userInfo,String openId);


    /**
     * TODO: 用户变更积分的接口
     *
     *
     * @author ZhangHaoyu
     * @param openId  用户id
     * @param incr true 增加  false 减少
     * @param score 变更积分
     * @return void
     */
    void updateUserScore(String openId,boolean incr,int score);



    /**
     * TODO: 签到功能
     *
     *
     * @author ZhangHaoyu
     * @param openId 用户的openId
     * @return int
     */
    boolean userSign(String openId);

    /**
     * TODO: 查看是否已经签到功能
     *
     *
     * @author ZhangHaoyu
     * @param openId 用户的openId
     * @return int
     */
    boolean getUserSignStatus(String openId);


    /**
     * TODO: 获取用户积分
     *
     *
     * @author ZhangHaoyu
     * @param openId
     * @return int
     */
    int getScoreByOpenId(String openId);

    /**
     * TODO: 分页查询wx用户信息
     *
     * @author: Zhang hao yu
     * @param page 分页
     * @return: java.util.List<org.jeecg.modules.wechat.entity.WxUser>
     */
    Page<WxUser> pageWxUser(Page<WxUser> page);
}
